package com.qfmy.common.exception;


import com.qfmy.common.result.ResultCodeEnum;
import lombok.Data;

/**
 * @author 清风明月
 * @Package com.lzw.breezeNovel.common.exception
 * @date 2025/4/13
 * @description Minio配置类
 */
@Data
@SuppressWarnings("all")
public class BaseException extends RuntimeException {
    //状态码
    private Integer code;
    //错误信息
    private String msg;

    //构造方法
    public BaseException(Integer code, String msg) {
        super(msg);
        this.code = code;
        this.msg = msg;
    }

    /**
     * 构造函数，用于初始化BaseException对象
     * 此构造函数接受一个ResultCodeEnum枚举对象作为参数，用于设置异常的错误代码和消息
     * 通过这种方式，可以将错误代码和消息直接与异常对象关联，便于后续处理和显示错误信息
     * @param resultCodeEnum 枚举类型的错误代码，包含错误代码和错误消息
     */
    public BaseException(ResultCodeEnum resultCodeEnum) {
        // 调用父类的构造函数，初始化异常的消息
        super(resultCodeEnum.getMessage());
        // 设置当前异常对象的错误代码
        this.code = resultCodeEnum.getCode();
        // 设置当前异常对象的错误消息
        this.msg = resultCodeEnum.getMessage();
    }

}
